﻿#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
//
//struct Test
//{
//
//	int Num;
//	char* pcName;
//	short sDate;
//	char cha[2];
//	short sBa[4];
//}*p = (struct Test*)0x100000;
//int main()
//{
//	//sizeof(数组名)，这里的数组名表示整个数组，计算的是整个数组的大小
//	//&数组名，这里的数组名表示整个数组，取出的是整个数组的地址、
//	//除此之外所有的数组名都表示首元素的地址
//
// 
//		int a[5] = { 1, 2, 3, 4, 5 };
//		int* ptr = (int*)(&a + 1);
//		printf("%d,%d", *(a + 1), *(ptr - 1));
//		return 0;
//	
//	//程序的结果是什么？ 2 5
//
//
//		//在X86环境下
////假设结构体的大小是20个字节
////程序输出的结果是啥？
//
//
//	printf("%p\n", p + 0x1);//0x100014
//	printf("%p\n", (unsigned long)p + 0x1);//0x100001
//	printf("%p\n", (unsigned int*)p + 0x1);//0x100004
//
//	return 0;
//}





int main()
{


		int a[3][2] = { (0, 1), (2, 3), (4, 5) };//1 3 5 0 0 0 
		int* p;
		p = a[0];
		printf("%d", p[0]);


		int aa[2][5] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
		int* ptr1 = (int*)(&aa + 1);
		int* ptr2 = (int*)(*(aa + 1));
		printf("%d,%d", *(ptr1 - 1), *(ptr2 - 1));

	return 0;
}